"""
发送邮件有很多第三方库, 这里介绍一个我个人觉得比较好用的 Zmail

Zmail仅支持python3. 不支持python2.
pip install zmail

特性
自动寻找服务器地址以及端口
自动使用可靠的链接协议
自动将一个python字典映射成MIME对象（带有附件的）
自动添加头文件以及localhostname来避免服务器拒收你的邮件
轻松自定义你的头文件
支持使用HTML作为邮件内容
仅需python>=3.5，你可以将其嵌入你的项目而无需其他的依赖
使用须知
使用Python3
确保打开了邮箱的POP3和SMTP功能
"""

import zmail

# 你的邮件内容
# mail_content = {
#     "subject": "success!",  # 邮件主题
#     "content_text": "This message from zmail", # 邮件内容
#     "attachments": "",  # 邮件附件, 写上正确路径
# }
# # 使用你的邮件账户名和授权码/密码登录服务器
# server = zmail.server("yourEmail@163.com", "your password")
#
# print(server.smtp_able())  # 查看是否登录成功, True/False
#
# # 发送邮件，可以使用元组重命名
# # cc为抄送人
# server.send_mail(["yourEmail@qq.com"], mail_content, cc=("yourEmail@qq.com"))

# 发送多个人, 可以是元组也可以是列表
# server.send_mail(["yourEmail@qq.com", "yourEmail@qq.com"], mail_content, cc=("yourEmail@qq.com", ""yourEmail@qq.com""))

import zmail
# 使用你的邮件账户名和授权码/密码登录服务器
server = zmail.server("yourEmail@163.com", "your password")

mail = server.get_latest()  # 最新一封邮件  除此之外,还有多种收取的方式, 自行百度

zmail.show(mail)  # 按照结构进行显示

"""
content-type: 邮件内容的类型
subject: 邮件主题
to：收件人
from：寄件人
date: 年-月-日 时间 时区
boundary: 如果邮件为multiple - - - parts，你可以得到其分界线
content: 邮件的文本内容（仅在text/plain时可以被解析）
contents: 邮件的body,里面包含着由分界线分割的每一个段落
attachments: None 或者 [['附件名称;编码方式','附件的二进制内容']...]
id: 在邮箱中的id
"""